package com.xnyzc.lhy.order.service.work;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xnyzc.lhy.order.entity.work.OaCommutConfig;
import com.xnyzc.lhy.order.entity.work.OaCommutRecord;

/**
 * <p>
 * 管理员、司机-通勤记录表 服务类
 * </p>
 *
 * @author zhuyubin
 * @since 2019-08-05
 */
public interface IOaCommutRecordService extends IService<OaCommutRecord> {

    /**
     * 打卡
     * @param userId 管理员或司机id
     * @param userType 用户状态
     * @param tag 租户
     * @param punchType 打卡类型
     * @param punchAddress 打卡地址
     * @param punchLng 打卡经度
     * @param punchLat 打卡纬度
     * @return
     */
    String commutRecord(
            Long userId,
            Integer userType,
            String tag,
            Integer punchType,
            String punchAddress,
            String punchLng,
            String punchLat
    );

    /**
     * 获取打卡配置
     * @param driverId 司机或管理员id
     * @param tag 租户
     * @param userType 用户类型
     * @return
     */
    OaCommutConfig getCommutConfig(Long driverId, String tag, Integer userType);

    /**
     * 查询当天打卡记录
     * @param userId 管理员或司机id
     * @param tag 租户
     * @param userType 用户类型
     * @return
     */
    boolean selectCommutRecord(Long userId, String tag, Integer userType);
}
